classdef jwlong_e4417a_class
    % 1、执行构造函数
    % powermeter = jwlong_e4417a_class;
    % 2、执行连接函数
    % [powermeter.obj,powermeter.idn]=...
    %     powermeter.Conect('COM18',9600);
    
    properties
        obj % 连接仪器的对象       
        idn % 保存仪器的编号
    end
    
    methods
        function powermeter = jwlong_e4417a_class
            %  构造此类的实例
        end
    end
    
    methods(Static)      
        function [obj,idn] = Conect(port,baudrate)
            % 连接仪器，同时读取仪器编号
            obj = serialport(port,baudrate);
            configureTerminator(obj,0x0A); 
            %为与串行端口的 ASCII 字符串通信设置终止符 0x0A
            writeline(obj,'*IDN?');
            % 将ASCII 数据行写入串行端口
            idn=readline(obj);  
            % 从串行端口读取 ASCII 字符串数据行
        end
         
        function power_dBm=ReadData(powermeter)
            % 读取功率值，单位为dbm
            writeline(powermeter.obj,'*CLS')
            flush(powermeter.obj);	% 清空串行端口设备缓冲区
            writeline(powermeter.obj,'MEAS?')
            p_read=readline(powermeter.obj);
            power_dBm=str2double(p_read);
        end       
        
    end
end

